package com.ihr360.payroll.model.dto.salary.meta;

/**
 * 薪资字段编码定义，有些编码有特殊的逻辑存在，此种类型的编码名称为约定。
 * 此类中的常量名称需与SystemSalaryField和SalaryField中的code保持一直。
 */
public final class SalaryFieldCode {
    /**
     * 应税工资（应税工资=sum(加项)-sum(减项)）
     */
    public static final String SALARY_BEFORE_TAX = "salarybeforetax";
    /**
     * 加班工资
     */
    public static final String OT_SALARY = "otsalary";
    /**
     * 入离职调整
     */
    public static final String ADJUSTMENT_FOR_ATTENDANCE = "adjustmentforattendance";
    /**
     * 病假扣款
     */
    public static final String SICK_LEAVE_DEDUCTION = "sickleavededuction";
    /**
     * 事假扣款
     */
    public static final String UNPAID_LEAVE_DEDUCTION = "unpaidleavededuction";

    /**
     * 分段计薪调整
     */
    public static final String PHASED_SALARY_ADJUSTMENT = "phasedsalaryadjustment";

    /**
     * 应工作天数(应出勤天数)
     */
    public static final String SUPPOSED_WORKING_DAYS = "supposedworkingdays";

    /**
     * 法定计薪天数
     */
    public static final String LEGAL_PAID_DAYS = "legalpaiddays";

    /**
     * 病假时长
     */
    public static final String SICK_LEAVE_CNT = "sickleavecnt";

    /**
     * 工龄
     */
    public static final String WORKING_YEARS = "STAFF_ROSTER$workingYears";


    /**
     * 司龄
     */
    public static final String SEREVICE_YEAR = "STAFF_ROSTER$enrollWorkYears";

    /**
     * 已扣个税
     */
    public static final String DEDUCTED_SALARYTAX = "deductedsalarytax";
    /**
     * 补扣个税
     */
    public static final String REINFORCED_SALARYTAX = "reinforcedsalarytax";
    /**
     * 合并应税工资
     */
    public static final String SALARYBEFORE_TAX_INALL = "salarybeforetaxinall";


    /**
     * 已扣年终奖个税
     */
    public static final String DEDUCTED_YEAREND_BONUSTAX = "deductedyearendbonustax";
    /**
     * 补扣年终奖个税
     */
    public static final String REINFORCED_YEAREND_BONUSTAX = "reinforcedyearendbonustax";
    /**
     * 合并年终奖金
     */
    public static final String YEARENDBONUS_INALL = "yearendbonusinall";

    /**
     * 已扣离职补偿金个税
     */
    public static final String REINFORCED_SEVERANCEPAY_TAX = "deductedseverancepaytax";
    /**
     * 补扣离职补偿金个税
     */
    public static final String REINFORCED_SEVERANCEPAYTAX = "reinforcedseverancepaytax";
    /**
     * 合并离职补偿金
     */
    public static final String SEVERANCEPAY_INALL = "severancepayinall";

    /**
     * 已扣竞业限制补偿金个税
     */
    public static final String DEDUCTED_NONCOMPETITION_TAX = "deductednoncompetitiontax";
    /**
     * 补扣竞业限制补偿金个税
     */
    public static final String REINFORCED_NONCOMPETITIONTAX = "reinforcednoncompetitiontax";
    /**
     * 合并竞业限制补偿金
     */
    public static final String NONCOMPETITION_INALL = "noncompetitioninall";

    public static final class TaxCode{
        //月度薪金税
        public static final String salarytax="salarytax";

        //其他特殊计税
        public static final String otherspecialtaxincome="otherspecialtaxincome";

        //劳务税
        public static final String servicechargetax="servicechargetax";

        //年终奖税
        public static final String yearendbonustax="yearendbonustax";

        //离职补偿金税
        public static final String severancepaytax="severancepaytax";

        //竞业限制补偿金税
        public static final String noncompetitiontax="noncompetitiontax";

        //股息红利税
        public static final String dividendtax="dividendtax";

        //虚拟股票期权税
        public static final String virtualstockoptiontax="virtualstockoptiontax";

        //股票期权税
        public static final String stockoptiontax="stockoptiontax";

        //限制性股票税
        public static final String restrictedstocktax="restrictedstocktax";

        //偶然所得税
        public static final String contingentincometax="contingentincometax";

        //其他税
        public static final String othertax="othertax";
    }

}